init: fix build with older gcc
authorJan Beulich <jbeulich@suse.com>
Fri, 24 Jun 2016 09:50:07 +0000 (11:50 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 24 Jun 2016 09:50:07 +0000 (11:50 +0200)
__setup_str is used on arrays of char, so there aren't any relocatable
items. Hence __initconst has to be used here, not __initconstrel.

Whatever led to the revert of commit 59b151d2c0 (the original version
of a6066af5b1 "xen/init: Annotate all command line parameter
infrastructure as const" must have got addressed meanwhile - with the
patch here I can't see that old gcc (4.3ish) report a section type
conflict anymore.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/include/xen/init.h

index 0afc43034a6b66748adacfb7835286102f4b8813..25d2eef8dd135084da08bf1bd62d0970bb3ce2a3 100644 (file)
@@ -88,7 +88,7 @@ struct kernel_param {
 
 extern const struct kernel_param __setup_start[], __setup_end[];
 
-#define __setup_str static const  __initconstrel \
+#define __setup_str static const __initconst \
     __attribute__((__aligned__(1))) char
 #define __kparam static const __initsetup \
     __attribute__((__aligned__(sizeof(void *)))) struct kernel_param